#pragma once
#include "ShaderProgram.h"
#include "Matrices.h"
const char* VERTEX_SHADER_FILEPATH = "../../Shader/vertexShader.vs";
const char* FRAGMENT_SHADER_FILEPATH = "../../Shader/fragmentShader.fs";

class StaticShader : public ShaderProgram
{
public:
	StaticShader() :ShaderProgram(VERTEX_SHADER_FILEPATH, FRAGMENT_SHADER_FILEPATH), location_transformMatrix(0), location_time(0){}

	void loadTransformMatrix(GLMath::Matrix4 matrix)
	{
		loadMatrix(location_transformMatrix, matrix);
	}

	void loadTime(float time)
	{
		loadFloat(location_time,time);
	}
private:
	int location_transformMatrix;
	int location_time;
protected:
	virtual void getAllUniformLocation() override{
		location_transformMatrix = getUniformLocation("transformMatrix");
		location_time = getUniformLocation("_time");
	}
};